//
//  Reciever.h
//  UDPReciever
//
//  Created by Thomas Van Winckel on 25/02/15.
//  Copyright (c) 2015 Thomas Van Winckel. All rights reserved.
//

#ifndef __UDPReciever__Reciever__
#define __UDPReciever__Reciever__

#include <iostream>
#include <string.h>
#include <stdlib.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <unistd.h>

#include "Package.h"

#define     UDPPORT         3200
#define     INBUFLEN        2048

#define     NOSOCKET        -1
#define     NOCONNECTION    -2

using namespace std;

class Reciever
{
    // Instance variables:

    public:
        Info recieve();
        int initConnection();
        Udp_package run();
        void closeConnection();
        void printConnectionError(int error);


    private:
        int lengte;
        int sock;
        struct sockaddr_in otherAddr;
        struct sockaddr_in myAddr;

        // char inbuf[INBUFLEN];
        // Maak van inbuf een struct:
        struct Udp_package inbuf;

};


#endif /* defined(__UDPReciever__Reciever__) */
